package com.controller;
import com.entity.BUser;
import com.entity.FUser;
import com.entity.table.BUserTableDef;
import com.entity.table.FUserTableDef;
import com.mybatisflex.core.query.QueryWrapper;
import com.service.impl.BUserServiceImpl;
import com.service.impl.FUserServiceImpl;
import jakarta.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/admin")
public class AdminController {
    @GetMapping("")
    public String index( Model model) { return  "back/index";}
    @GetMapping("/welcome")
    public String welcome( Model model ) { return "back/welcome";}
    @Autowired
    BUserServiceImpl bUserService;

    @GetMapping("/login")
    public String toLoginPage() { return "back/login"; }
    //登录
    @PostMapping("/toLogin")
    public String login(BUser user, HttpSession httpSession, Model model){
        //注意这里的key要和数据库的列名column对应
        QueryWrapper query = QueryWrapper.create()
                .where(BUserTableDef.B_USER.USERNAME.eq(user.getUsername()))
                .and(BUserTableDef.B_USER.PASSWORD.eq(user.getPassword()));
        BUser bUser = bUserService.getOne(query);
        if (bUser!=null) {
            //将用户对象添加到Session
            httpSession.setAttribute("admin", bUser);
            model.addAttribute("admin", bUser);//返回数据给前端页面
            //跳转到主页面
            return "back/index";
        }
        else {
            model.addAttribute("msg","账号或密码错误，请重新输入！");
            return "back/login";
        }
    }
}
